# 2021年1月16日 上午10:54 周考模拟
# 人工智能学院1906A
# 裴云鹏


# 11.	构建嵌套列表info，以‘张三’、'李四'、'王五'、'赵六'、'宋七'作为姓名：
# 12.	导入包operator。（4分）
# 13.	按技能成绩由高到低的次序输出5名同学信息（4分）。
# 14.	按理论成绩由低到高的次序输出5名同学信息（4分）。

print('''11.	构建嵌套列表info，以‘张三’、'李四'、'王五'、'赵六'、'宋七'作为姓名： ''')
info = list(zip(
    ('张三', '李四', '王五', '赵六', '宋七'),
    (92, 88, 96, 90, 94),
    (98.5, 79.5, 88, 91.6, 84.4)))
print(info)

print('''# 12.	导入包operator。（4分）''')
import operator

# print('''# 13.	按平均成绩由高到低的次序输出5名同学信息（4分）。''')
# ordered_by_score = sorted(info, key=lambda x: (x[1] + x[2]) / 2, reverse=True)
# n = 1
# for x, y, z in ordered_by_score:
#     print(f'#{n} 姓名：{x}, 理论：{y}, 技能：{z}，平均：{(y + z) / 2}')
#     n += 1

print('''# 13.	按技能成绩由高到低的次序输出5名同学信息（4分）。''')
ordered_by_score_tech = sorted(info, key=operator.itemgetter(2), reverse=True)
n = 1
for x, y, z in ordered_by_score_tech:
    print(f'#{n} 姓名：{x}, 理论：{y}, 技能：{z}，平均：{(y + z) / 2}')
    n += 1

print('''# 14.	按理论成绩由低到高的次序输出5名同学信息（4分）。''')
ordered_by_score_theory = sorted(info, key=operator.itemgetter(1), reverse=True)
n = 1
for x, y, z in ordered_by_score_theory:
    print(f'#{n} 姓名：{x}, 理论：{y}, 技能：{z}，平均：{(y + z) / 2}')
    n += 1
